const { json } = require('body-parser');
const db = require('../db/index.js')

// 上传轮播图 需要两个参数  set_value set_name
exports.uploadSwiper = (req, res) => {
	let oldName = req.files[0].filename;
	let newName = Buffer.from(req.files[0].originalname, 'latin1').toString('utf8')
	fs.renameSync('./public/upload/' + oldName, './public/upload/' + newName)
	const sql = 'update setting set set_value = ? where set_name = ?'
	db.query(sql, [`https://localhost/upload/${newName}`, req.body.name], (err, result) => {
		if (err) return res.cc(err)
		res.send({
			status: 0,
			message: '上传轮播图成功'
		})
	})
}

// 获取所有轮播图
exports.getAllSwiper = (req, res) => {
	// like 匹配 字段是否符合 前缀为 ...
	const sql = "select set_value from setting where set_name like 'swiper%' "
	db.query(sql, (err, result) => {
		if (err) return res.cc(err)
		if (result) {
			// 创建了一个数组
			let array = []
			// 把set_value 放进数组
			result.forEach((e) => {
				array.push(e.set_value)
			})
			res.send(array)
		} else {
			res.send({
				status: 1,
				message: '请添加轮播图'
			})
		}
	})
}

// 获取公司名称 
exports.getCompanyName = (req, res) => {
	const sql = 'select * from setting where set_name = "公司名称"'
	db.query(sql, (err, result) => {
		if (err) return res.cc(err)
		if (result[0].set_value) {
			res.send(result[0].set_value)
		} else {
			res.send({
				status: 1,
				message: '请设置公司名称'
			})
		}

	})
}

// 修改公司名字 参数 set_value
exports.changeCompanyName = (req, res) => {
	const sql = 'update setting set set_value = ? where set_name = "公司名称"'
	db.query(sql, req.body.set_value, (err, result) => {
		if (err) return res.cc(err)
		res.send({
			status: 0,
			message: '修改公司成功'
		})
	})
}

// 编辑公司介绍的接口 参数 set_text set_name
exports.changeCompanyIntroduce = (req, res) => {
	const sql = 'update setting set set_text = ? where set_name = ? '
	db.query(sql, [req.body.set_text, req.body.set_name], (err, result) => {
		if (err) return res.cc(err)
		res.send({
			status: 0,
			message: '修改公司介绍成功'
		})
	})
}

// 获取公司介绍 参数 set_name
exports.getCompanyIntroduce = (req, res) => {
	const sql = 'select * from setting where set_name = ?'
	db.query(sql, req.body.set_name, (err, result) => {
		if (err) return res.cc(err)
		res.send(result[0].set_text)
	})
}



// 获取所有公司信息
exports.getAllCompanyIntroduce = (req, res) => {
	const sql = 'select * from setting where set_name like "公司%" '
	db.query(sql, (err, result) => {
		if (err) return res.cc(err)
		result = result.slice(1)
		res.send(result)
	})
}

//获取产品分类列表
exports.getProductList = (req, res) => {
	const sql = 'select * from setting where set_name = "产品设置"'
	db.query(sql, (err, results) => {
		if (err) return res.cc(err)
		res.send(results)
	})
}



// -----配置设置
//添加类别与类别下的选项
exports.setvalue = (req, res) => {
	const query = req.body
	const arr = JSON.parse(query.arr)
	const newarr = []
	arr.forEach(item => {
		newarr.push(item.value)
	})
	const sql = 'insert into setting  set set_name= ? ,set_value = ? '
	db.query(sql, [query.type, JSON.stringify(newarr)], (err, results) => {
		if (err) return res.cc(err)
		res.send({
			status: 0,
			message: '添加成功!'
		})
	})
}
//根据id修改类型内容
exports.updatevalue = (req, res) => {
	const query = req.body
	const arr = JSON.parse(query.arr)
	const newarr = []
	arr.forEach(item => {
		newarr.push(item.value)
	})
	const sql = 'update  setting  set set_name= ? , set_value = ? where id = ?'
	db.query(sql, [query.type, JSON.stringify(newarr), query.id], (err, results) => {
		if (err) return res.cc(err)
		res.send({
			status: 0,
			message: '修改成功!'
		})
	})
}
//根据id删除对应的内容
exports.deletevalue = (req, res) => {
	if (req.body.id == 13) return res.send({ status: 1, message: '产品设置为基本类型不可删除' })
	const sql = 'delete from  setting  where id =? '
	db.query(sql, req.body.id, (err, results) => {
		if (err) return res.cc(err)
		res.send({
			status: 0,
			message: '删除成功!'
		})
	})
}


//返回类别下的所有选项
exports.getTypeListByType = (req, res) => {
	const sql = 'select * from setting where set_name = ?'
	db.query(sql, req.body.type, (err, results) => {
		if (err) return res.cc(err)
		res.send(result)
	})
}

//根据id返回类型和选项
exports.getTypeListById = (req, res) => {
	const sql = 'select * from setting where id = ?'
	db.query(sql, req.body.id, (err, results) => {
		if (err) return res.cc(err)
		res.send(results)
	})
}




//获取类别表单信息
exports.getTypeList = (req, res) => {

	const sql = 'select * from setting'
	db.query(sql, (err, results) => {
		if (err) return res.cc(err)
		results.forEach(item => {
			item.set_value = JSON.parse(item.set_value)

		})
		res.send(results)

	})
}




